﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using Thaire.Investment.BL.DTO;
using Thaire.Investment.BL.ScreenData;
using Thaire.Investment.Domains.Transaction;
using Thaire.Investment.BL.Filter;
using Thaire.Investment.Domains.Master;
using Thaire.Investment.BL.report_dto;

namespace Thaire.Investment.BL
{
    [ServiceContract]
    public interface IReportService
    {



        [OperationContract]
        IList<KeyValueDTO> GetMaster(string type);

        [OperationContract]
        IList<KeyValueDTO> GetMasterMode(string type,string mode);

        [OperationContract]
        IList<ReportEquityDTO> GetReportEquity(ReportCriteriaDTO criteria);


        [OperationContract]
        IList<ReportLoanDTO> GetReportLoan(ReportCriteriaDTO criteria);


        [OperationContract]
        IList<ReportFixedIncomeDTO> GetReportFixedIncome(ReportCriteriaDTO criteria);


        [OperationContract]
        IList<ReportUnitTrustsDTO> GetReportUnitTrusts(ReportCriteriaDTO criteria);


        [OperationContract]
        IList<ReportDepositAtFinancialDTO> GetReportDepositAtFinancial(ReportCriteriaDTO criteria);


        [OperationContract]
        IList<R3302DTO> R3302(ReportR3CriteriaDTO criteria);

        [OperationContract]
        IList<R3303DTO> R3303(ReportR3CriteriaDTO criteria);

        [OperationContract]
        IList<R3306DTO> R3306(ReportR3CriteriaDTO criteria);

        [OperationContract]
        IList<R3305DTO> R3305(ReportR3CriteriaDTO criteria);

        [OperationContract]
        IList<R3307DTO> R3307(ReportR3CriteriaDTO criteria);

        [OperationContract]
        IList<R3520DTO> R3520(ReportR3CriteriaDTO criteria);

        [OperationContract]
        IList<R3710DTO> R3710(ReportR3CriteriaDTO criteria);


        IList<R3100DTO> R3100(ReportR3CriteriaDTO criteria);
        IList<R3200DTO> R3200(ReportR3CriteriaDTO criteria);
        IList<R3300DTO> R3300(ReportR3CriteriaDTO criteria);
        IList<R3301DTO> R3301(ReportR3CriteriaDTO criteria);


    }
}
